﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Bukstor.Biz;

namespace Bukstor.Admin.UI
{
    public partial class Clientes : System.Web.UI.Page
    {
        int idSeleccionado;
        protected void Page_Load(object sender, EventArgs e)
        {
            ((Label)this.Master.FindControl("lblTitulo")).Text = "CLIENTES";
        }

        public List<DireccionesConApellido> listarDireccionesSeleccionadas()
        {
            BukstorBDEntities Entidades = new BukstorBDEntities();

            IEnumerable<Direccion> tablaDirecciones = from Direccion D in Entidades.Direcciones
                                                      where D.Cliente.id == idSeleccionado
                                                      select D;
            List<DireccionesConApellido> listaApellidos = new List<DireccionesConApellido>();

            foreach (Direccion dir in tablaDirecciones)
            {
                //dir.ClienteReference.Load();
                //if (dir.Cliente.id)
                //{
                    dir.ClienteReference.Load();
                    dir.ProvinciaReference.Load();
                    DireccionesConApellido nuevaDireccionApellido = new DireccionesConApellido();
                    nuevaDireccionApellido.IdDireccion = dir.id;
                    nuevaDireccionApellido.Calle = dir.calle;
                    nuevaDireccionApellido.Numero = dir.numero;
                    nuevaDireccionApellido.Departamento = dir.departamento;
                    nuevaDireccionApellido.Localidad = dir.localidad;
                    nuevaDireccionApellido.CodigoPostal = dir.codigoPostal;
                    nuevaDireccionApellido.ApellidoCliente = dir.Cliente.apellido;
                    nuevaDireccionApellido.Provincia = dir.Provincia.nombre;
                    listaApellidos.Add(nuevaDireccionApellido);
                //}
            }
            return listaApellidos;
        }

        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            lblDireccionesSeleccionadas.Text = "Direcciones correspondientes al cliente seleccionado:";
            GridViewRow filaCliente;
            filaCliente = GridView1.SelectedRow;
            idSeleccionado=int.Parse(filaCliente.Cells[1].Text);
            GridView2.DataSource = listarDireccionesSeleccionadas();
            GridView2.DataBind();
        }

        protected void btnAnularPassword_Click(object sender, EventArgs e)
        {

            Response.Write("<script language='javascript'>alert('La Password de este cliente será cambiada y el cliente inhabilitado');</script>");
            string passwordAnulacion = "anulado";
            GridViewRow filaCliente;
            filaCliente = GridView1.SelectedRow;
            idSeleccionado = int.Parse(filaCliente.Cells[1].Text);
            BukstorBDEntities Entidades = new BukstorBDEntities();
            IEnumerable<Cliente> listaClientes = from Cliente c in Entidades.Clientes
                                                 select c;
            foreach (Cliente cl in listaClientes)
            {
                if (cl.id == idSeleccionado)
                {
                    cl.password = passwordAnulacion; break;
                }
            }
            Entidades.SaveChanges();
        }
    }
}